home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
IRIX Base Documentation 1998 November
/
IRIX 6.5.2 Base Documentation November 1998.img
/
usr
/
share
/
catman
/
u_man
/
cat1
/
bstream.z
/
bstream
Wrap
Text File
|
1998-10-20
|
6KB
|
133 lines
bbbbssssttttrrrreeeeaaaammmm((((1111)))) bbbbssssttttrrrreeeeaaaammmm((((1111))))
NNNNAAAAMMMMEEEE
bstream - many buffered filter
SSSSYYYYNNNNOOOOPPPPSSSSIIIISSSS
bbbbssssttttrrrreeeeaaaammmm [----nnnn bufs] [----bbbb size] [----llllttttrrrrvvvvdddd] [----ssss count] [----iiii file] [----oooo file]
DDDDEEEESSSSCCCCRRRRIIIIPPPPTTTTIIIIOOOONNNN
This command is a filter which buffers input from the input file and
writes it to the output file. The command is especially useful for
reading from or writing to streaming tape drives, where bstream can be
used as a speed matching program to keep the tape streaming as much as
possible.
If input or output files are not specified, then _b_s_t_r_e_a_m simply copies
the standard input to the standard output through multiple buffers. A
tape can be written to or read from in this manner, but _b_s_t_r_e_a_m will not
be able to handle multiple tape copies. If multiple tapes are involved,
explicitly specifying the tape device via the ----iiii or ----oooo options will
enable _b_s_t_r_e_a_m to recover from end of medium indications and request a
new tape.
OOOOPPPPTTTTIIIIOOOONNNNSSSS
The following options are supported:
----bbbb _s_i_z_e specifies the size of buffer to use. The default size is 64K
bytes, however any size up to the maximum allowable shared
memory segment size for the system is allowed.
----nnnn _c_n_t Sets the number of buffers to use. A minimum of two is
enforced, while the maximum is limited by the number of shared
memory segments which a process may be attached to
simultaneously. More than two buffers can improve performance
and make the tape more likely to stream. The default value is
set to four.
----llll Attempt to lock the shared memory buffers into physical memory.
This will not be possible unless the command is run by the
superuser.
----tttt Attempt to lock program image and stack in physical memory.
This will not be possible unless the command is run by the
super user. The nice value of the _b_s_t_r_e_a_m process is also
decreased, increasing its scheduling priority.
----rrrr Report a summary of the byte throughput achieved by _b_s_t_r_e_a_m for
the entire transfer as well as for each individual tape if
multiple tapes are involved.
----vvvv Reports each i/o that is done (very verbose).
PPPPaaaaggggeeee 1111
bbbbssssttttrrrreeeeaaaammmm((((1111)))) bbbbssssttttrrrreeeeaaaammmm((((1111))))
----dddd Reports very verbose debugging information.
----ssss _c_o_u_n_t Report a summary of the byte throughput achieved by _b_s_t_r_e_a_m
every _c_o_u_n_t buffers, for both input and output.
----iiii _f_i_l_e Specify the input file as an explicit filename, allowing
recovery from end-of-medium conditions on tapes. The user will
be prompted for a new tape.
----oooo _f_i_l_e Specify the output file as an explicit filename, allowing
recovery from end-of-medium conditions on tapes. The user will
be prompted for a new tape.
To copy a filesystem onto multiple tapes:
ttttaaaarrrr ccccffff ---- **** |||| bbbbssssttttrrrreeeeaaaammmm ----oooo////ddddeeeevvvv////ttttaaaappppeeee
Recovering an image from tape is just as easy:
bbbbssssttttrrrreeeeaaaammmm ----iiii////ddddeeeevvvv////ttttaaaappppeeee |||| ttttaaaarrrr xxxxffff ----
There is a subtle issue involving tapes that should be understood when
using _b_s_t_r_e_a_m with a tape device. Usually, a tape device requires that
the tape be written in even multiples of the block size. When _b_s_t_r_e_a_m is
used as a streaming filter (see the above examples) this is not a
problem, since both _t_a_r(_1) and _c_p_i_o(_1) block the output on natural tape
boundaries. To protect the user, _b_s_t_r_e_a_m will round the final write to
tape up to the nearest tape blocksize boundary, fill the residual of the
last block with zeros, and print a warning message if rounding up was
needed. _b_s_t_r_e_a_m should always be used with a formatter program such as
_t_a_r or _c_p_i_o when writing to a tape device, since rounding up and filling
may have unpredictable effects on programs expecting a simple byte
stream. No rounding or filling is done when output is not directed to a
tape device.
NNNNOOOOTTTTEEEESSSS
_b_s_t_r_e_a_m runs only on Silicon Graphics 4D series workstations. On an
unloaded 4D60, _b_s_t_r_e_a_m can stream the tape 70 to 80% of the time,
achieving byte transfer rates around 70K bytes per second.
PPPPaaaaggggeeee 2222